草庐IT

c++ - OpenCV Visual Studio ntdll.dll

全部标签

c++ - 如何获得与 select() 等效的 poll() 的 POLLHUP?

我目前正在将一些代码从Linux移植到Windows(使用MinGW)。来selfunderstand,MinGW不支持原来使用的poll(),所以我重写了select()的所有内容。现在我偶然发现了if(pfd[i].revents&(POLLERR|POLLHUP))...我怎样才能用select()或winsockapi或MinGW提供的任何东西来获得这个条件的等价物?POLLERR部分很简单;if(FD_ISSET(i,&error_fd_set))但我对POLLHUP部分不知所措。 最佳答案 你不能。您必须使用“正常”方式

c++ - 有没有办法在信号量或输入事件发生之前阻塞单个线程?

我将编写一个程序,同时处理来自TCP/IP连接和共享内存队列的请求。这意味着程序将阻塞,直到队列中有请求或套接字上有输入。然后它将处理请求并继续。有没有办法在单个线程中执行此操作?我的意思是某种select同时使用信号量和套接字。延迟对我来说很重要,我也不想忙等待。该程序将在Windows上运行。谢谢。 最佳答案 一种方法是使用重叠I/O并使用hEvent机制来指示I/O完成。然后,您可以使用WaitForMultipleObjects()API等待队列信号量和hEvent/s。另一种方法是使用重叠I/O和完成例程。然后,您可以在W

c - 使用 `PostQuitMessage` 和只处理所有消息有区别吗?

我想知道这两个片段之间是否存在差异:一个:voidmain(){//...while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}ExitProcess(0);}//...voidquit(){PostQuitMessage(0);}两个:boolquit=false;voidmain(){//...while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);if(quit){while(P

c - 为什么我在 Windows 机器上用 C 开发时会出现 include <windows.h> 错误?

我是C的新手,我正在尝试编译使用外部库的代码。因此,我正在关注these链接库的步骤。但是在第一个gcc-c-Wall-Werror-fpicPICASO_SERIAL_4DLIBRARY.C我明白了PICASO_SERIAL_4DLIBRARY.C:1:0:error:-fpicignoredfortarget(allcodeispositionindependent)[-Werror]#includecc1plus.exe:allwarningbeingtreatedaserrors另外#下面还有上面的箭头。我尝试用谷歌搜索它,但我只能发现这是一个Linux问题而不是Windows

c - 在 Windows 中使用 C 测量执行时间

我想测量代码和平的执行时间。我正在用clock()函数来做这件事。这里的例子:#include#include#include#includeintmain(void){clock_tbegin=0,end=0;begin=clock();printf("helloworld!!\n");end=clock();printf("Begin%E\n",begin);printf("End%E\n",end);printf("Clocks%E\n",end-begin);printf("Clockspersecond%E\n",CLOCKS_PER_SEC);printf("Time%E\

.net - 故障模块名称 : vrfcore. dll,版本 : 6. 3.9600.16384 和异常代码:0x80000003

我在VSexpress2013中为WindowsDesktop和sqlserver2012创建了一个winform应用程序,在调试和Release模式下一切都运行得很好并且符合预期,但是当我尝试从visualstudio运行exe时(通过单击.exe)它崩溃了,我在事件记录器Asinthisimage中发现故障模块名称:vrfcore.dll,版本:6.3.9600.16384和异常代码:0x80000003,我已经在vb.net中编写了代码,任何人都可以帮助我吗 最佳答案 vrfcore.dll由ApplicationVerifi

检查驱动器是否可以从 C 程序中移除? ( Windows )

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我有一个名为“E”的驱动器。我如何检查它是否可以从我的c程序中删除?

windows - 仅使用系统调用而不是 Windows dll 制作程序

这个问题在这里已经有了答案:Windowssystemcalls[duplicate](1个回答)关闭5年前。我正在尝试让程序使用系统调用而不是dll(kernel32.dll、ntdll.dll)。例如,我知道Windows1064位中的0x2C(44)系统调用是NtTerminateProcessbuythat网页。此外,当我反汇编ntdll.dll时,我发现该代码:NtTerminateProcess:movr10,rcxmoveax,44testbyte[abs7FFE0308h],01h;alsowhatisinthatmemoryaddress?jnzlabelsyscal

windows - 如何使用 PowerShell 从 .dll 或 .exe 文件中提取数据

我想列出所有启动类型设置为自动的服务我正在使用PowerShell5$path='hklm:\SYSTEM\ControlSet001\Services'$services=get-childitem$path|get-itemproperty-name'Start'foreach($sin$services){if($s.'Start'-like'2'){$dn=get-itemproperty$s.'pspath'-name'DisplayName'echo$dn}}但问题是大多数条目都使用这样的东西:@%systemroot%\system32\SearchIndexer.exe

连接到本地虚拟机

我怀疑这有一个我忽略的简单解决方案,可能与客户端或它的设置方式有关。无论如何,我正在尝试设置一个简单的Echo服务器/客户端来了解套接字编程的基础知识。我有一台运行LinuxMint的虚拟机,主机运行的是Windows10。我设置的虚拟机运行服务器c代码,而Windows将运行客户端。我开始编写服务器代码//EchoServerforUNIX:UsingsocketprogramminginC,aclientsendsastring//tothisserver,andtheserverrespondswiththesamestringsentbacktotheclient#includ